Hardware Assisted OS Virtualization

نویسندگان

  • Bhushan Jain
  • Donald E. Porter
چکیده

Operating System-level virtualization, also known as a container, is an increasingly popular approach to isolating applications that use the same underlying OS kernel [2, 5–7]. Containers have recently gained popularity as the default back-end for Docker, an application packaging and distribution system used by companies including Google [3]. The purported reason to use containers over a hardware virtual machine, such as VMware or Xen, is reduced overheads. Containers forego the ability to run different OSes— an essential feature of VMs, but can be appropriate for scenarios where all guest applications are programmed to the same OS API. Containers are implemented by copying a subset of OS data structures, which one would expect to be lighter-weight than running another complete OS instance. Similarly, data structure initialization can be faster than booting a legacy OS kernel. This difference in implementation techniques raises concerns about security. Unlike VMs, containers expose the host system call table to each guest, and rely on pointer hooks to redirect system calls to isolated data structure instances, called namespaces in Linux. One security concern for containers is that there may be exploitable vulnerabilities in the pointer indirection code, leading to information leakage or privilege escalation. System calls servicing one guest operate in the same kernel address space as the data structures for other guests. For this reason containers also disallow functionality such as loading kernel extensions. A second security concern for containers is that any vulnerabilities in the system call API of the host kernel are shared, unlike VMs. Specifically, a kernel bug that is exploited through a system call argument is a shared vulnerability with a co-resident container, but not on a coresident VM. As a point of reference, the national vulnerability database [4] lists 147 such exploits out of 291 total Linux vulnerabilities for the period 2011–2013. In short, containers inherit the same security problems as monolithic operating systems written in unsafe languages, which caused people to turn to hypervisors for security isolation. In contrast, the interface exported by a shared hypervisor is narrower, and less functionality executes in an address space shared among guests. Moreover, the hypervisor isolates each VM’s memory for kernel data structures using a second set of page tables like Extended Page Tables (EPT) [1]. Memory isolation like VMs for just the container specific kernel objects can solve the problem of security isolation for containers. We leverage hardware virtualization features like EPT to create a hardware isolated memory namespace, and prevent access of container specific kernel objects outside the namespace. We redesign the OS to be EPT page protection friendly for containers. We change the allocators for container specific objects to be at page granularity so that the protection boundary can naturally map to page translation and page protection provided by EPT. We maintain the light-weightness of the containers by sharing the OS between containers and the host while providing the memory isolation using a second set of page tables like EPT. The contributions of this work are as follows: • A redesign of the OS to be EPT page protection friendly. • Provide VM-like EPT based isolation to containers without sacrificing the container’s efficiency with very low overheads.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Using Hardware-Assisted Virtualization to Protect Application Address Space Inside Untrusted Environment

In this paper we present a virtualization-based approach of protecting execution of trusted applications inside potentially compromised operating system. In out approach, we do not isolate application from other processes in any way; instead, we use hypervisor to control processes inside OS and to prevent undesired actions with application resources. The only requirement for our technique to wo...

متن کامل

Department of Informatics

To approach the ever growing complexity of modern malware, security applications increasingly leverage virtualization technology to perform Virtual Machine Introspection (VMI). VMI constitutes techniques that allow the observation, analysis, and control of guest Virtual Machines (VMs) from the outside. This lends VMI-based applications an omniscient character gaining a complete and untainted vi...

متن کامل

MIvmm: A micro VMM for development of a trusted code base

In this paper, we describe the implementation of a hardware assisted virtual machine monitor (VMM) for building security applications MIvmm for the Intel x86 64 platform. MIvmm was conceptualized and implemented without the use or inspection of any existing virtualization software. The minimal code base of MIvmm allows it to be trustworthy. MIvmm is launched after the OS has booted as a device ...

متن کامل

Enabling Virtualization on Scalable Multicore Systems

Current trends in computer architecture encourage rethinking of the system software design principles. Recent research on operating systems (OS) indeed confirms that the scale, diversity and associated complexities of the emerging hardware represent a tremendous challenge. However, as the traditional OS design techniques get influenced by the modern hardware, virtualization being a well-establi...

متن کامل

Transparent Protection of Commodity OS Kernels Using Hardware Virtualization

Kernel rootkits are among the most insidious threats to computer security today. By employing various code injection techniques, they are able to maintain an omnipotent presence in the compromised OS kernels. Existing preventive countermeasures typically employ virtualization technology as part of their solutions. However, they are still limited in either (1) requiring modifying the OS kernel s...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015